package modelo;

import java.sql.SQLException;
import java.util.List;

import dao.api.InterfaceDAO;

public interface IVampiroDAO extends InterfaceDAO {

    public void loadVisitaList(IVampiroDO vampiroDO) throws Exception;

    public void loadVampiroArticuloList(IVampiroDO vampiroDO) throws Exception;

    public void loadPropiedadVampiroList(IVampiroDO vampiroDO) throws Exception;

    public void loadFamiliaRef(IVampiroDO vampiroDO) throws SQLException;

    public void loadCiudadRef(IVampiroDO vampiroDO) throws SQLException;
    
    public byte [] loadImageByVampiroId(int vampiroId) throws SQLException;

    public List<IVampiroDO> listByCiudadId(int ciudadId) throws SQLException;

    public List<IVampiroDO> listByFamiliaId(int familiaId) throws SQLException;

    public List<IVampiroDO> listAllOrderedByCiudad() throws SQLException;

    public List<IVampiroDO> listAllOrderedByCiudad(int lim, int off) throws SQLException;

    public List<IVampiroDO> listAllOrderedByPtosExperiencia() throws SQLException;

    public List<IVampiroDO> listAllOrderedByPtosExperiencia(int lim, int off) throws SQLException;

    public IVampiroDO loadByAlias(String alias) throws SQLException;
    
    public IVampiroDO loadByCorreo(String correo) throws SQLException;
    
    public List<IVampiroDO> listByAliasLike(String alias) throws SQLException;
}